一面
笔试题
1 实现一个函数,判断输入是不是回文字符串。
2 两种以上方式实现已知或者未知宽度的垂直水平居中。
3 实现效果,点击容器内的图标,图标边框变成 border 1px solid red,点击空白处重置。
4 请简单实现双向数据绑定 mvvm。
5 实现 Storage,使得该对象为单例,并对 localStorage 进行封装设置值 setItem(key,value)和 getItem(key)
面试题
你的技术栈主要是 react,那你说说你用 react 有什么坑点?
我现在有一个 button,要用 react 在上面绑定点击事件,我要怎么做?
接上一个问题,你觉得你这样设置点击事件会有什么问题吗?
你说说 event loop 吧
说说事件流吧
我现在有一个进度条,进度条中间有一串文字,当我的进度条覆盖了文字之后,文字要去进度条反色,怎么实现?
二面
你为什么要离开上一家公司?
你觉得你理想的前端地位是什么(问题其实与第一个问题有关联)
那你意识到问题所在,你又尝试过解决问题吗
三面
说一下你上一家公司的一个整体开发流程吧
react 的虚拟 dom 是怎么实现的
react 的渲染过程中,兄弟节点之间是怎么处理的?也就是 key 值不一样的时候。
我现在有一个数组[1,2,3,4],请实现算法,得到这个数组的全排列的数组,如[2,1,3,4],[2,1,4,3]。。。。你这个算法的时间复杂度是多少
我现在有一个背包,容量为 m,然后有 n 个货物,重量分别为 w1,w2,w3…wn,每个货物的价值是 v1,v2,v3…vn,w 和 v 没有任何关系,请求背包能装下的最大价值。
四面
请说一下你的上一家公司的研发发布流程。
你说一下 webpack 的一些 plugin,怎么使用 webpack 对项目进行优化。
看你简历上写了 canvas,你说一下为什么 canvas 的图片为什么过有跨域问题。
我现在有一个 canvas,上面随机布着一些黑块,请实现方法,计算 canvas 上有多少个黑块。
请手写实现一个 promise
五面
你说一下你的技术有什么特点
说一下你觉得你最得意的一个项目?你这个项目有什么缺陷,弊端吗?
现在有那么一个团队,假如让你来做技术架构,你会怎么做?
说一下你上一家公司的主要业务流程,你参与到其中了吗?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。